package com.atguigu.gmall.fastdfs;

import java.util.concurrent.*;

/**
 * @Author: lx
 * @Time: 9:18
 * @Description:
 *
 *   异步编排
 *
 */
public class TheadDemo {

    public static void main(String[] args) throws Exception{
        //单个线程
        new Thread(() -> {//Lomdba
            System.out.println(Thread.currentThread().getName());
        },"AAAA").start();

        ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
                10, 20,
                60L, TimeUnit.SECONDS,
                new ArrayBlockingQueue<>(5));
                //执行过程 ： 线程池中有0个线程
               // 1：大量请求来了  先找核心线程  10个  超过10个了 排队 5个   最大20  默认直接抛异常

        threadPoolExecutor.execute(() -> {
            System.out.println(Thread.currentThread().getName());
        });

        //中间人
        FutureTask futureTask = new FutureTask(() -> {
            System.out.println(Thread.currentThread().getName());
            return "ahhaa";
        });
        threadPoolExecutor.execute(futureTask);
        //返回值
        System.out.println(futureTask.get());



        //1:导演   任何一个演员都是一个单独线程
          // 演员出场顺序
          // 配角 3 号 正在超车  5分钟
                     // 男1登场  3分钟
                            //女1号登场
                            //女2号登场 2分钟
                                 //男2号登场  开打
        //JUC
        //异步编排
          // 异步：




    }
}



